using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using SubmitIT.Common.Enum;

namespace SubmitIT.DTO
{
    public class TOUsuario
    {
        #region Constructors Usuario

        public TOUsuario()
        {
            
        }

        public TOUsuario(List<TOSubAssunto> TOSubAssuntos)
        {
            this.TOSubAssuntos = TOSubAssuntos;
        }

        #endregion Constructors Usuario

        #region Properties Usuario

        private int _id;

        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }

        private EnumPerfil _perfil;

        public EnumPerfil Perfil
        {
            get { return _perfil; }
            set { _perfil = value; }
        }

        public String DescricaoPerfil
        {
            get { return Enum.GetName(typeof(EnumPerfil), this.Perfil); }
        }

        private Hashtable _funcionalidades;

        public Hashtable Funcionalidades
        {
            get 
            {
                if (_funcionalidades == null)
                {
                    _funcionalidades = new Hashtable();
                }
                return _funcionalidades; 
            }
            set { _funcionalidades = value; }
        }

        private string _senha;

        public string Senha
        {
            get { return _senha; }
            set { _senha = value; }
        }

        private string _nome;

        public string Nome
        {
            get { return _nome; }
            set { _nome = value; }
        }

        private string _email;

        public string Email
        {
            get { return _email; }
            set { _email = value; }
        }

        private string _estado;

        public string Estado
        {
            get { return _estado; }
            set { _estado = value; }
        }

        private DateTime _dataCriacao;

        public DateTime DataCriacao
        {
            get { return _dataCriacao; }
            set { _dataCriacao = value; }
        }

        private List<TOSubAssunto> _toSubAssuntos;

        public List<TOSubAssunto> TOSubAssuntos
        {
            get 
            {
                if (_toSubAssuntos == null)
                {
                    _toSubAssuntos = new List<TOSubAssunto>();
                }
                return _toSubAssuntos; 
            }
            set { _toSubAssuntos = value; }
        }

        private Boolean _ativo;

        public Boolean Ativo
        {
            get { return _ativo; }
            set { _ativo = value; }
        }

        #endregion Properties Usuario
    }
}
